package com.whfc.fse.dao;

import com.whfc.fse.dto.FseBridgeDTO;
import com.whfc.fse.entity.FseBridge;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface FseBridgeMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(FseBridge record);

    int insertSelective(FseBridge record);

    FseBridge selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(FseBridge record);

    int updateByPrimaryKey(FseBridge record);

    /**
     * 根据平台和sn查找
     *
     * @param platform
     * @param sn
     * @return
     */
    FseBridge selectByPlatformAndSn(@Param("platform") String platform,
                                    @Param("sn") String sn);

    /**
     * 软删除
     *
     * @param bridgeId
     */
    void del(Integer bridgeId);

    /**
     * 架桥机列表
     *
     * @param deptIds
     * @param keyword
     * @param bindFlag
     * @param netState
     * @return
     */
    List<FseBridgeDTO> selectFseBridgeByDeptId(@Param("deptIds") List<Integer> deptIds,
                                               @Param("keyword") String keyword,
                                               @Param("bindFlag") Integer bindFlag,
                                               @Param("netState") Integer netState);

    /**
     * 修改绑定状态
     *
     * @param bridgeId
     * @param bindFlag
     * @param sn
     * @param netState
     */
    void updateBindFlag(@Param("bridgeId") Integer bridgeId,
                        @Param("platform") String platform,
                        @Param("bindFlag") Integer bindFlag,
                        @Param("sn") String sn,
                        @Param("netState") Integer netState);

    /**
     * 更新所有桥架机设备网络状态
     *
     * @param value
     */
    void updateAllDeviceNetState(Integer value);
}